首页> 外文OA文献 >Transition Watchpoints: Teaching Old Debuggers New Tricks
【2h】

Transition Watchpoints: Teaching Old Debuggers New Tricks

机译:转换观察点:教授旧调试器新技巧

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Reversible debuggers and process replay have been developed at least since1970. This vision enables one to execute backwards in time under a debugger.Two important problems in practice are that, first, current reversibledebuggers are slow when reversing over long time periods, and, second, afterbuilding one reversible debugger, it is difficult to transfer that achievementto a new programming environment. The user observes a bug when arriving at anerror. Searching backwards for the corresponding fault may require many reversesteps. Ultimately, the user prefers to write an expression that will transitionto false upon arriving at the fault. The solution is an expression-transitionwatchpoint facility based on top of snapshots and record/replay.Expression-transition watch- points are implemented as binary search throughthe timeline of a program execution, while using the snapshots as landmarkswithin that timeline. This allows for debugging of subtle bugs that appear onlyafter minutes or more of program execution. When a bug occurs within seconds ofprogram startup, repeated debugging sessions suffice. Reversible debugging ispreferred for bugs seen only after minutes. This architecture allows for anefficient and easy-to-write snapshot-based reversibe debugger on top of aconventional debugger. The validity of this approach was tested by developingfour personalities (for GDB, MATLAB, Perl, and Python), with each personalitytypically requiring just 100 lines of code.
机译:至少从1970年开始就开发了可逆调试器和过程重放。这种愿景使一个人可以在调试器下及时向后执行。实践中存在两个重要问题:首先,当前的可逆调试器在长时间内进行反转时速度很慢;其次,在构建一个可逆调试器之后,很难将该成就转移到一个新的编程环境。用户发现错误时会发现错误。向后搜索相应的故障可能需要许多反向步骤。最终,用户更喜欢编写一个表达式,该表达式在出现故障时将转换为false。该解决方案是一种基于快照和记录/重放之上的expression-transitionwatchpoint工具。Expression-transition监视点通过程序执行的时间轴以二进制搜索的形式实现,而快照则用作该时间轴内的界标。这允许调试仅在几分钟或更长的程序执行后才会出现的细微错误。当在程序启动的几秒钟内发生错误时,重复的调试会话就足够了。对于仅在几分钟后才能看到的错误,首选可逆调试。这种体系结构允许在常规调试器之上进行高效且易于编写的基于快照的可逆调试器。通过开发四个个性(针对GDB,MATLAB,Perl和Python)测试了这种方法的有效性,每个个性通常只需要100行代码。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号